;:poke56,32:clr
;:run10
;:open1,8,15,"s:happy.code
;:open2,8,2,"happy.code,p,w
;:sys36864
	.goto 25
	;.opt o2
	.goto 30
	;.opt oo
	*= $c000
chkout	=$e118	;  $ffc9
clrchn	=$ffcc
write	=$e10c	; $ffd2
setnam	=$ffbd
open	=$ffc0
close	=$ffc3
setpar	=$ffba
getx	=$b7f1
komma	=$aefd
frestr	=$b6a3
strres	=$b475
findvar	=$b08b
varadr	=$49
para	=$61
chkin	=$ffc6
get	=$e124	; 65508
stradr	=34
frmevl	=$ad9e
tmp	=247
av	=249
getkoord	=$b7eb
xcoord	=20
illquan	=$b248
	jmp read
	jmp dwrite
	jmp search
	jmp show
	jmp clr
	jmp set
	jmp start
out15	ldx #15
	jmp chkout
sendcmd	sta cmdstr+1
	lda tr
	jsr numbasc
	stx track
	sta track+1
	lda se
	jsr numbasc
	stx sector
	sta sector+1
	jsr out15
	ldx #0
comout	lda cmdstr,x
	jsr write
	inx
	cpx #$d
	bne comout
	jmp clrchn
cmdstr	.byte "u1:13 0 "
track	.byte "00 "
sector	.byte "00 "
fast	.byte "m-w\x07\x1c\x01\x0f"
numbasc	ldx #"0"
	sec
numb1	sbc #10
	bcc numb2
	inx
	bcs numb1
numb2	adc #"9"+1
	rts
opndir	lda #15
	tay
	ldx #8
	jsr setpar
	lda #7
	ldx #<fast
	ldy #>fast
	jsr setnam
	jsr open
	lda #13
	tay
	ldx #8
	jsr setpar
	lda #1
	ldx #<dadr
	ldy #>dadr
	jsr setnam
	jmp open
dadr	.byt "#"
clsdir	jsr clrchn
	lda #13
	jsr close
	lda #15
	jmp close
getpar	jsr getx
	stx tr
	jsr getx
	stx se
	rts
blopo	.byte "b-p 13 0"
tr	brk
se	brk
setpu	jsr out15
	ldx #0
spu	lda blopo,x
	jsr write
	inx
	cpx #8
	bcc spu
	jmp clrchn
read	jsr getpar
	jsr opndir
	lda #"1"
	jsr sendcmd
	jsr setpu
	jsr komma
	jsr findvar
	sta varadr
	sty varadr+1
	jsr frestr
	lda #254
	jsr strres
	ldy #2
setpr	lda para,y
	sta (varadr),y
	dey
	bpl setpr
	ldx #13
	jsr chkin
	ldy #0
dirin	jsr get
	sta (para+1),y
	iny
	cpy #254
	bcc dirin
	jmp clsdir
dwrite	jsr getpar
	jsr opndir
	jsr setpu
	ldx #13
	jsr chkout
	jsr komma
	jsr frmevl
	jsr frestr
	ldy #0
dout	lda (stradr),y
	jsr write
	iny
	cpy #254
	bcc dout
	jsr clrchn
	lda #"2"
	jsr sendcmd
	jmp clsdir
name	.byte "m-w"
ada	.byt 0,5,13
put2	.byte "m-w"
	.byt 0,4
len	brk
send	.byte "m-e"
	.word $500
ret	.byte "m-r"
	.word $480
	.byt 4
suchprg	clc
	bcc goto1
	clc
	bcc noi
	.byt 31,29,31,30,31,30,31,31,30,31,30,31
goto1	ldx #1
	stx $482
	stx $480
	dex
	stx $481
	stx $483
suche	lda $1c00
	eor #8
	sta $1c00
	lda $480
	cmp #18
	bcc ok18
	adc #0
ok18	sta 6
	lda $481
	sta 7
	lda #128
	sta 0
getrea	lda 0
	bmi getrea
	cmp #2
	bcc ledx
	sta $481
	lda #-1
	sta $480
fund	rts
ledx	ldx #0
oki	stx $484
	ldy #0
kay	lda $400,y
	beq fund
	cmp #"?"
	beq ide
	cmp $300,x
	bne noi
ide	inx
	iny
	bne kay
noi	ldx $484
grez	cpx #0
	beq next
	inx
	bne oki
next	ldx $483
	lda $482
	cmp $506,x
	bcs neumon
	inc $482
	inc $481
	lda $481
	cmp #18
	bcc suche
	lda #0
	sta $481
	inc $480
nsuche	bne suche
neumon	ldx #0
	stx $481
	inx
	stx $482
	inc $480
	inc $483
	lda $483
	cmp #12
	bcc nsuche
	lda #0
	sta $480
	rts
i0	.byte "i0"
pos	brk
nummer	brk
len2	brk
search	jsr getx
	stx ledx+1
	jsr getx
	stx grez+1
	lda #15
	ldx #8
	tay
	jsr setpar
	lda #2
	ldx #<i0
	ldy #>i0
	jsr setnam
	jsr open
	lda #14
	sta nummer
	ldy #0
	sty ada
trans	sty pos
	jsr out15
	ldx #0
trans2	lda name,x
	jsr write
	inx
	cpx #6
	bcc trans2
	ldx #13
	ldy pos
trans3	lda suchprg,y
	jsr write
	iny
	dex
	bne trans3
	sty pos
	jsr clrchn
	clc
	lda ada
	adc #13
	sta ada
	ldy pos
	dec nummer
	bne trans
	jsr komma
	jsr frmevl
	jsr frestr
	sta len2
	tax
	inx
	stx len
	jsr out15
	ldx #0
loop	lda put2,x
	jsr write
	inx
	cpx #6
	bcc loop
	ldy #0
loop2	lda (stradr),y
	jsr write
	iny
	cpy len2
	bcc loop2
	lda #0
	jsr write
	jsr clrchn
	lda #0
	.byt $2c
start	lda #3
	sta send+3
	jsr out15
	ldx #0
star	lda send,x
	jsr write
	inx
	cpx #5
	bcc star
	jsr clrchn
	jsr out15
	ldx #0
rere	lda ret,x
	jsr write
	inx
	cpx #6
	bcc rere
	jsr clrchn
	ldx #15
	jsr chkin
	ldx #0
gege	jsr get
	sta 2,x
	inx
	cpx #4
	bcc gege
	jsr clrchn
	inc 5
	lda #15
	jmp close
contsuch	lda #3
	sta send+3
	bne start
show	ldx #4
	ldy #0
	sty tmp
	stx tmp+1
	lda #1
shw	sta (tmp),y
	iny
	bne shw
	inc tmp+1
	dex
	bne shw
	lda #59
	sta 53265
	lda #29
	sta 53272
	rts
clr	ldx #32
	ldy #0
	tya
	sty tmp
	stx tmp+1
chw	sta (tmp),y
	iny
	bne shw
	inc tmp+1
	dex
	bne chw
	rts
set	jsr komma
	jsr getkoord
	cpx #200
	bcs ill
	lda xcoord+1
	cmp #>320
	bcc ok
	bne ill
	lda xcoord
	cmp #<320
	bcs ill
ok	txa
	lsr
	lsr
	lsr
	asl
	tay
	lda mult+1,y
	sta av+1
	txa
	and #7
	clc
	adc mult,y
	sta av
	lda xcoord
	and #$f8
	adc av
	sta av
	lda av+1
	adc xcoord+1
	sta av+1
	lda xcoord
	and #7
	tax
	lda grbit,x
	ldy #0
	ora (av),y
	sta (av),y
	rts
ill	jmp illquan
grbit	.byt $80,$40,$20,$10,8,4,2,1
mult	=*
	.word $2000,$2140,$2280,$23c0
	.word $2500,$2640,$2780,$28c0
	.word $2a00,$2b40,$2c80,$2dc0
	.word $2f00,$3040,$3180,$32c0
	.word $3400,$3540,$3680,$37c0
	.word $3900,$3a40,$3b80,$3cc0
	.word $3e00
